Skip to content

Update plugin Paste剪切板 v1.3.0 - #481

Open
TheLastSheep wants to merge 16 commits into
ZToolsCenter:mainfrom
TheLastSheep:codex/paste-windows-shortcuts
Open

Update plugin Paste剪切板 v1.3.0#481
TheLastSheep wants to merge 16 commits into
ZToolsCenter:mainfrom
TheLastSheep:codex/paste-windows-shortcuts

Conversation

@TheLastSheep

@TheLastSheep TheLastSheep commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

变更说明

Paste 面板改为先加载 50 条历史、按需预取下一页。全库搜索在主插件窗口持有的 Node Worker 中执行,关闭面板后复用缓存,解除界面搜索最多覆盖一万条记录的限制。

  • 后台缓存完整正文、HTML、OCR 和规范化搜索字段,保持原有子串、短语、类型、App、设备、日期和分组查询规则。列表只收到有限长度的预览;粘贴、批量粘贴、编辑和预览仍按 ID 读取完整内容。
  • 合并快速输入,过期查询不覆盖新结果;游标基于带版本的结果快照,变化后重新查询。新增、编辑、删除和插件同步通过文档 ID 增量更新缓存,缩略图和原生拖拽直接按 ID 读取。
  • 时间线通常挂载 30–50 张卡片,支持横向、纵向和紧凑模式。跨页方向键等待页面返回后继续移动,刷新保留已加载范围和焦点;拖拽在完整分组顺序上计算,避免丢失未加载项。
  • 修复 Paste 面板启动时空白、重复刷新的问题:等待主题、首屏数据及 Vue DOM 更新后显示窗口;初始化失败时显示可关闭提示。
  • 修复 macOS 外接屏首次 show() 时的横向偏移:先透明显示,完成 show/focus 后无动画校准坐标,再恢复可见;旧宿主缺少透明度 API 时仍立即校准坐标。
  • 修复工作区 composite TypeScript 配置与浏览器测试夹具类型。
  • 入口声明 mainHide: true,快捷键和超级面板唤起时保持主窗口隐藏。
  • Windows/Linux 使用 Ctrl,macOS 使用 Command;统一卡片 Enter/Space 路由和设置入口。
  • ZTools 3.2 接入 screenCapture(autoConfirm=false 为 best-effort)、startDrag 和 pluginData,并迁移历史数据。
  • Primary preload 作为唯一剪贴板历史镜像写入者;补强 Blob 内容寻址、符号链接和引用保护。
  • ZTools 2.4–3.1 保留旧 API 和 userData 回退;低于 2.4 时提示升级。版本为 1.3.0。

验证

  • 最新提交 a0b2f2cGitHub Actions 构建通过,Linux 构建并上传插件安装包;Windows/macOS 任务按工作流条件跳过。
  • 66 个测试文件,420 项单元测试通过,包括十万条搜索、查询规则一致性、过期游标、增量读取、分页、RPC 生命周期及窗口回归。
  • 14 项 Chrome 浏览器测试通过:十万条全库搜索、预览截断位置之后的中文命中、连续输入、分页键盘和刷新后的焦点;同时覆盖万条虚拟列表的四种布局、缩略图、多选拖拽及生产 renderer 启动时序。
  • 工作区 tsc -b、Vue 类型检查、workspace/package contract 和 git diff --check 通过。
  • renderer/preload 构建与 11 文件组包通过;包装配检查要求包含独立搜索 Worker。
  • 实际打包 Node Worker + 当前服务源码:十万条混合模拟数据查询往返 P95 21.6–51.9 ms,初次缓存约 832.6 ms,调用线程定时器最大间隔约 12.0 ms。全量读取一次,修改一条仅重读一条。可通过 node scripts/benchmark-history-worker.mjs 复现。
  • 之前窗口坐标修复已在 macOS / ZTools 3.2 外接屏验证并获用户确认;本轮性能版本的宿主交互验收仍待重新加载验证,不能沿用旧版本的原生验收结论。
  • 变更仅在 plugins/pasteboard-pro 内,不包含 ATools、共享包、其他插件或生成产物。

边界

  • 宿主没有公开原生数据库游标/limit 接口。本次是 Worker 内存缓存上的结果分页,主插件首次建缓存、重载或未知外部变更仍需要全量读取。迁移、清理和同步仍可能额外扫描数据库。
  • 性能基准不含 ZTools 数据库 IPC 和原生窗口创建,也不代表十万条真实历史在所有机器上的性能保证。Windows/Linux 与旧版宿主仍待原生回归。
  • 官方 CLI 1.2.0 已安装并用于项目检查。其 publish 固定使用 plugin/pasteboard-pro;此既有 PR 使用自定义分支,更新必须保持实际 PR head,避免另建 PR。

跟进 ZTools 3.2 截图编辑态、文件外拖和插件数据目录能力,并保留 2.4–3.1 回退路径与低版本升级门禁。

AI-Co-Authored-By: Codex
@TheLastSheep TheLastSheep changed the title fix(pasteboard-pro): 修复 Windows 快捷键冲突与配置入口 Update plugin Paste剪切板 v1.3.0 Sep 1, 2026
在 ZTools 3.2 首次启动时校验迁移旧附件并重写数据库路径,成功后清理旧目录;保留 2.4–3.1 的直接安装兼容。

AI-Co-Authored-By: Codex (GPT-5)
为 Paste 入口声明 mainHide,让 ZTools 3.2 在全局快捷键唤起时保持主窗口隐藏。

AI-Co-Authored-By: Codex (GPT-6)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants